Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Turbopack: refactor how EsmAssetReferences are added #76011

Merged
merged 6 commits into from
Feb 14, 2025

Conversation

mischnic
Copy link
Contributor

@mischnic mischnic commented Feb 13, 2025

A refactor to use less Box<dyn ModuleReference>

The snapshots changed because this changes the order of references to the internal parts (they are now in order as opposed to arbitrary order)

The next PR will be the one leverage this to remove CodeGenerateable from EsmAssetReference

Closes PACK-3974

@ijjk ijjk added the created-by: Turbopack team PRs by the Turbopack team. label Feb 13, 2025
@mischnic mischnic changed the title change EsmAssetReference Turbopack: refactor how EsmAssetReferences are added Feb 13, 2025
@mischnic mischnic marked this pull request as ready for review February 13, 2025 16:32
@ijjk
Copy link
Member

ijjk commented Feb 13, 2025

Tests Passed

@ijjk
Copy link
Member

ijjk commented Feb 13, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js mischnic/refactor-esm-ref Change
buildDuration 18.7s 17.2s N/A
buildDurationCached 16.2s 13.6s N/A
nodeModulesSize 393 MB 393 MB
nextStartRea..uration (ms) 440ms 442ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js mischnic/refactor-esm-ref Change
5271-HASH.js gzip 55.4 kB 55.4 kB N/A
6228c9d4-HASH.js gzip 56.9 kB 56.9 kB N/A
7048.HASH.js gzip 168 B 168 B
8377-HASH.js gzip 5.46 kB 5.46 kB N/A
framework-HASH.js gzip 57.5 kB 57.5 kB N/A
main-app-HASH.js gzip 245 B 246 B N/A
main-HASH.js gzip 34.9 kB 34.9 kB N/A
webpack-HASH.js gzip 1.71 kB 1.71 kB
Overall change 1.88 kB 1.88 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js mischnic/refactor-esm-ref Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Overall change 39.4 kB 39.4 kB
Client Pages
vercel/next.js canary vercel/next.js mischnic/refactor-esm-ref Change
_app-HASH.js gzip 194 B 194 B
_error-HASH.js gzip 193 B 192 B N/A
amp-HASH.js gzip 513 B 511 B N/A
css-HASH.js gzip 342 B 342 B
dynamic-HASH.js gzip 1.84 kB 1.84 kB N/A
edge-ssr-HASH.js gzip 265 B 264 B N/A
head-HASH.js gzip 363 B 360 B N/A
hooks-HASH.js gzip 393 B 390 B N/A
image-HASH.js gzip 4.59 kB 4.59 kB N/A
index-HASH.js gzip 268 B 266 B N/A
link-HASH.js gzip 2.35 kB 2.35 kB
routerDirect..HASH.js gzip 328 B 326 B N/A
script-HASH.js gzip 397 B 397 B
withRouter-HASH.js gzip 325 B 325 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 3.72 kB 3.72 kB
Client Build Manifests
vercel/next.js canary vercel/next.js mischnic/refactor-esm-ref Change
_buildManifest.js gzip 749 B 747 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js mischnic/refactor-esm-ref Change
index.html gzip 523 B 523 B
link.html gzip 538 B 537 B N/A
withRouter.html gzip 519 B 518 B N/A
Overall change 523 B 523 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js mischnic/refactor-esm-ref Change
edge-ssr.js gzip 130 kB 130 kB N/A
page.js gzip 214 kB 214 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js mischnic/refactor-esm-ref Change
middleware-b..fest.js gzip 676 B 674 B N/A
middleware-r..fest.js gzip 155 B 156 B N/A
middleware.js gzip 31.6 kB 31.6 kB N/A
edge-runtime..pack.js gzip 844 B 844 B
Overall change 844 B 844 B
Next Runtimes
vercel/next.js canary vercel/next.js mischnic/refactor-esm-ref Change
app-page-exp...dev.js gzip 395 kB 395 kB
app-page-exp..prod.js gzip 133 kB 133 kB
app-page-tur..prod.js gzip 145 kB 145 kB
app-page-tur..prod.js gzip 141 kB 141 kB
app-page.run...dev.js gzip 382 kB 382 kB
app-page.run..prod.js gzip 129 kB 129 kB
app-route-ex...dev.js gzip 39.4 kB 39.4 kB
app-route-ex..prod.js gzip 25.7 kB 25.7 kB
app-route-tu..prod.js gzip 25.7 kB 25.7 kB
app-route-tu..prod.js gzip 25.5 kB 25.5 kB
app-route.ru...dev.js gzip 41 kB 41 kB
app-route.ru..prod.js gzip 25.5 kB 25.5 kB
dist_client_...dev.js gzip 356 B 356 B
dist_client_...dev.js gzip 349 B 349 B
pages-api-tu..prod.js gzip 9.72 kB 9.72 kB
pages-api.ru...dev.js gzip 11.8 kB 11.8 kB
pages-api.ru..prod.js gzip 9.72 kB 9.72 kB
pages-turbo...prod.js gzip 22 kB 22 kB
pages.runtim...dev.js gzip 31.6 kB 31.6 kB
pages.runtim..prod.js gzip 22 kB 22 kB
server.runti..prod.js gzip 61.2 kB 61.2 kB
Overall change 1.68 MB 1.68 MB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js mischnic/refactor-esm-ref Change
0.pack gzip 2.12 MB 2.11 MB N/A
index.pack gzip 76.4 kB 77.6 kB ⚠️ +1.14 kB
Overall change 76.4 kB 77.6 kB ⚠️ +1.14 kB
Diff details
Diff for 5271-HASH.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Commit: 7995fc0

@mischnic mischnic requested a review from sokra February 13, 2025 17:46
@mischnic mischnic added CI Bypass Graphite Optimization Ignore Graphite CI optimizations, run the full CI suite. https://graphite.dev/docs/stacking-and-ci and removed CI Bypass Graphite Optimization Ignore Graphite CI optimizations, run the full CI suite. https://graphite.dev/docs/stacking-and-ci labels Feb 13, 2025
@mischnic mischnic force-pushed the mischnic/codegen-fewer-tasks branch from 3961480 to 72eba1e Compare February 14, 2025 10:42
@mischnic mischnic force-pushed the mischnic/refactor-esm-ref branch from 82e1820 to d26d227 Compare February 14, 2025 10:42
@mischnic mischnic force-pushed the mischnic/refactor-esm-ref branch from d26d227 to f620345 Compare February 14, 2025 12:47
@mischnic mischnic force-pushed the mischnic/codegen-fewer-tasks branch from 72eba1e to 37767ec Compare February 14, 2025 12:47
@mischnic mischnic changed the base branch from mischnic/codegen-fewer-tasks to graphite-base/76011 February 14, 2025 15:01
@mischnic mischnic force-pushed the graphite-base/76011 branch from 37767ec to d854b8b Compare February 14, 2025 15:01
@mischnic mischnic force-pushed the mischnic/refactor-esm-ref branch from f620345 to afa87aa Compare February 14, 2025 15:01
@mischnic mischnic changed the base branch from graphite-base/76011 to canary February 14, 2025 15:02
@mischnic mischnic force-pushed the mischnic/refactor-esm-ref branch from afa87aa to 7995fc0 Compare February 14, 2025 15:02
@mischnic mischnic merged commit 9c7a246 into canary Feb 14, 2025
132 checks passed
@mischnic mischnic deleted the mischnic/refactor-esm-ref branch February 14, 2025 18:00
devjiwonchoi pushed a commit that referenced this pull request Feb 14, 2025
A refactor to use less `Box<dyn ModuleReference>`

The snapshots changed because this changes the order of references to the internal parts (they are now in order as opposed to arbitrary order)

The next PR will be the one leverage this to remove `CodeGenerateable` from `EsmAssetReference`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
created-by: Turbopack team PRs by the Turbopack team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants